home *** CD-ROM | disk | FTP | other *** search
- mmult(aray1,aray2,aray3,row1,col1,row2,col2)
-
- float *aray1,*aray2, *aray3;
- int row1,col1,row2,col2;
- {
- register float *ap1, *ap2, *ap3, tot;
- register int c2, k, c1, km;
- int c21, i, j;
-
- c2=col2; c1=col1; ap1=aray1; ap3=aray3;
- i=row1; km= (c1<row2) ? c1 : row2;
- c21=c2*km-1;
- do {
- ap2=aray2-c2; ap1+=c1; j=c2;
- do { ap1-=c1; tot=0; k=km;
- do tot+= ((*ap1++) * (*(ap2+=c2)));
- while(--k);
- *ap3++ = tot; ap2-=c21;
- } while(--j);
- } while(--i);
- }
-
-